package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_weekly")
public class FWeekly {
    @Id
    private Long tid;

    /**
     * 股票代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 交易日期
     */
    @Column(name = "trade_date")
    private String tradeDate;

    /**
     * 周收盘价
     */
    private Float close;

    /**
     * 周开盘价
     */
    private Float open;

    /**
     * 周最高价
     */
    private Float high;

    /**
     * 周最低价
     */
    private Float low;

    /**
     * 上一周收盘价
     */
    @Column(name = "pre_close")
    private Float preClose;

    /**
     * 周涨跌额
     */
    private Float change;

    /**
     * 周涨跌幅 （未复权，如果是复权请用  ）
     */
    @Column(name = "pct_chg")
    private Float pctChg;

    /**
     * 周成交量
     */
    private Float vol;

    /**
     * 周成交额
     */
    private Float amount;

    public FWeekly(Long tid, String tsCode, String tradeDate, Float close, Float open, Float high, Float low, Float preClose, Float change, Float pctChg, Float vol, Float amount) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.tradeDate = tradeDate;
        this.close = close;
        this.open = open;
        this.high = high;
        this.low = low;
        this.preClose = preClose;
        this.change = change;
        this.pctChg = pctChg;
        this.vol = vol;
        this.amount = amount;
    }

    public FWeekly() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取股票代码
     *
     * @return ts_code - 股票代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置股票代码
     *
     * @param tsCode 股票代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取交易日期
     *
     * @return trade_date - 交易日期
     */
    public String getTradeDate() {
        return tradeDate;
    }

    /**
     * 设置交易日期
     *
     * @param tradeDate 交易日期
     */
    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate;
    }

    /**
     * 获取周收盘价
     *
     * @return close - 周收盘价
     */
    public Float getClose() {
        return close;
    }

    /**
     * 设置周收盘价
     *
     * @param close 周收盘价
     */
    public void setClose(Float close) {
        this.close = close;
    }

    /**
     * 获取周开盘价
     *
     * @return open - 周开盘价
     */
    public Float getOpen() {
        return open;
    }

    /**
     * 设置周开盘价
     *
     * @param open 周开盘价
     */
    public void setOpen(Float open) {
        this.open = open;
    }

    /**
     * 获取周最高价
     *
     * @return high - 周最高价
     */
    public Float getHigh() {
        return high;
    }

    /**
     * 设置周最高价
     *
     * @param high 周最高价
     */
    public void setHigh(Float high) {
        this.high = high;
    }

    /**
     * 获取周最低价
     *
     * @return low - 周最低价
     */
    public Float getLow() {
        return low;
    }

    /**
     * 设置周最低价
     *
     * @param low 周最低价
     */
    public void setLow(Float low) {
        this.low = low;
    }

    /**
     * 获取上一周收盘价
     *
     * @return pre_close - 上一周收盘价
     */
    public Float getPreClose() {
        return preClose;
    }

    /**
     * 设置上一周收盘价
     *
     * @param preClose 上一周收盘价
     */
    public void setPreClose(Float preClose) {
        this.preClose = preClose;
    }

    /**
     * 获取周涨跌额
     *
     * @return change - 周涨跌额
     */
    public Float getChange() {
        return change;
    }

    /**
     * 设置周涨跌额
     *
     * @param change 周涨跌额
     */
    public void setChange(Float change) {
        this.change = change;
    }

    /**
     * 获取周涨跌幅 （未复权，如果是复权请用  ）
     *
     * @return pct_chg - 周涨跌幅 （未复权，如果是复权请用  ）
     */
    public Float getPctChg() {
        return pctChg;
    }

    /**
     * 设置周涨跌幅 （未复权，如果是复权请用  ）
     *
     * @param pctChg 周涨跌幅 （未复权，如果是复权请用  ）
     */
    public void setPctChg(Float pctChg) {
        this.pctChg = pctChg;
    }

    /**
     * 获取周成交量
     *
     * @return vol - 周成交量
     */
    public Float getVol() {
        return vol;
    }

    /**
     * 设置周成交量
     *
     * @param vol 周成交量
     */
    public void setVol(Float vol) {
        this.vol = vol;
    }

    /**
     * 获取周成交额
     *
     * @return amount - 周成交额
     */
    public Float getAmount() {
        return amount;
    }

    /**
     * 设置周成交额
     *
     * @param amount 周成交额
     */
    public void setAmount(Float amount) {
        this.amount = amount;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", tradeDate=").append(tradeDate);
        sb.append(", close=").append(close);
        sb.append(", open=").append(open);
        sb.append(", high=").append(high);
        sb.append(", low=").append(low);
        sb.append(", preClose=").append(preClose);
        sb.append(", change=").append(change);
        sb.append(", pctChg=").append(pctChg);
        sb.append(", vol=").append(vol);
        sb.append(", amount=").append(amount);
        sb.append("]");
        return sb.toString();
    }
}